An in-depth evaluation of GCC’s OpenACC implementation on Cray systems
نویسندگان
چکیده
OpenACC is a directive-based API that extends the C/C++ and Fortran base languages to program accelerators and multicores. Several commercial implementations are available that support OpenACC including PGI, Cray, and PathScale. More recently, GCC started adding support for OpenACC and is expected to fully support the OpenACC 2.0 specification in the upcoming GCC 7 release. However, to our knowledge, the quality and performance of GCC’s OpenACC implementation have not been studied in detail. In this paper, we will perform an in-depth evaluation of GCC’s OpenACC implementation on Titan, ORNL’s Cray XK7 supercomputer, and compare it to other commercially available compiler implementations. We first start by providing a description of the OpenACC implementation design in GCC, its runtime, as well as provide an overview of the current state of OpenACC supported features as described in GCC 6.3. Then, we we will evaluate the quality and performance of the GCC 6.x implementation by using the OpenACC Verification and Validation suite [1] to test the accuracy and correctness of the implementation, the EPCC OpenACC benchmark suite [2] to measure performance, and the SPEC ACCEL benchmark [3] OpenACC suite to exercise the implementation. We believe that the results presented in this study will be useful for the larger community interested in using and evaluating new OpenACC implementations. Keywords-OpenACC; compiler evaluation;
منابع مشابه
An MPI/OpenACC implementation of a high-order electromagnetics solver with GPUDirect communication
We present performance results and an analysis of an MPI/OpenACC implementation of an electromagnetic solver based on a spectral-element discontinuous Galerkin discretization of the time-dependent Maxwell equations. The OpenACC implementation covers all solution routines, including a highly tuned element-by-element operator evaluation and a GPUDirect gather-scatter kernel to effect nearest-neig...
متن کاملA portable platform for accelerated PIC codes and its application to GPUs using OpenACC
We present a portable platform, called PIC ENGINE, for accelerating Particle-In-Cell (PIC) codes on heterogeneous many-core architectures such as Graphic Processing Units (GPUs). The aim of this development is efficient simulations on future exascale systems by allowing different parallelization strategies depending on the application problem and the specific architecture. To this end, this pla...
متن کاملA Review of The Challenges and Results of Refactoring the Community Climate Code COSMO for Hybrid Cray HPC Systems
We summarize the results of porting the numerical weather simulation code COSMO to different hybrid Cray HPC systems. COSMO was written in Fortran with MPI, and the aim of the refactoring was to support both many-core systems and GPU-accelerated systems with minimal disruption to the user community. With this in mind, different approaches were taken to refactor the different components of the c...
متن کاملOptimising Hydrodynamics applications for the Cray XC30 with the application tool suite
Power constraints are forcing HPC systems to continue to increase hardware concurrency. Efficiently scaling applications on future machines will be essential for improved science and it is recognised that the “flat” MPI model will start to reach its scalability limits. The optimal approach is unknown, necessitating the use of mini-applications to rapidly evaluate new approaches. Reducing MPI ta...
متن کاملPerformance Analysis of a High-Level Abstractions-Based Hydrocode on Future Computing Systems
In this paper we present research on applying a domain specific high-level abstractions (HLA) development strategy with the aim to “future-proof“ a key class of high performance computing (HPC) applications that simulate hydrodynamics computations at AWE plc. We build on an existing high-level abstraction framework, OPS, that is being developed for the solution of multi-block structured mesh-ba...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017